MySQL ORDER BY DESC

您所在的位置:网站首页 select desc MySQL ORDER BY DESC

MySQL ORDER BY DESC

#MySQL ORDER BY DESC| 来源: 网络整理| 查看: 265

MySQL ORDER BY DESC

MySQL ORDER BY DESC简介

MySQL ORDER BY DESC是MySQL中的一个ORDER BY子句,它负责在获取结果行时对数据库记录进行排序。

基本上,ORDER BY子句使用属性来指定表记录的排序顺序。因此,我们需要在这个查询命令的ORDER BY子句中包括ASC或DESC修饰符。

这些属性与ORDER BY子句一起,使结果表中的行的排列以升序或降序显示。但是默认情况下,当没有向ORDER BY子句提供修饰符时,其值将被设置为ASC。因此,我们将实现ORDER BY DESC查询,使结果中的行以降序排列。

语法

下面的语法是一个简单的结构,用于在MySQL数据库查询中应用ORDER BY DESC子句。

SELECT ColumnName1, ColumnName2, ….FROM TableName WHERE Cond_Expr ORDER BY ColumnName1 DESC, ColumnName2DESC,….ColumnNameNDESC;

语法解释如下。

为了应用ORDER BY DESC子句,我们将使用SELECT语句来写一个查询。 ColumnName表示用户希望获取的表列的名称。 TableName表示查询中包含的表的名称。 WHERE子句定义了为表提供结果而应用的条件表达式,如果需要,这是一个可选条件。然而,如果条件被匹配,那么所选的行将被显示在结果集中。 带有DESC的ORDER BY子句定义了具有特定列名的排序结构。 ORDER BY DESC在MySQL中是如何工作的? 在MySQL查询中执行SELECT语句将从特定的表中获取数据记录;然后,你会注意到提供的结果行表不是以有序的形式出现。因此,为了以排序列表的方式呈现结果集,我们需要在SELECT查询中添加MySQL ORDER BY子句。 在ORDER BY子句的帮助下,你可以用任何特定的列名对行进行排序。为了进一步使结果以排序的形式显示,即增加或减少的顺序,我们将使用关键字ASC或DESC,它定义了这个ORDER BY子句的属性。 DESC关键字与ORDER BY子句一起使用,使记录以递减的顺序检索。我们可以在ORDER BY子句后指定一个或多个需要排序的表列,但应以逗号来分隔列的列表。在这里,你应该注意,不同的列可以用ASC或DESC关键字在ORDER BY后根据所述的语法进行不同的排序。就像下面这个。

SELECT ColumnName1, ColumnName2, …. FROM TableName ORDER BY ColumnName1 ASC, ColumnName2 DESC,….ColumnNameN [ASC | DESC];

因此,这将通过以明确的方式重新排列结果行来排序。

MySQL ORDER BY DESC的例子

让我们演示一些使用ORDER BY DESC子句的例子,看看它在MySQL中的用途和工作。

例子#1 - MySQL使用一个表列的ORDER BY DESC

假设,为了说明问题,我们将在我们的数据库中采取一个名为Customer的样本表,它有CusotmerID、CutomerName、Credit_Limit和City等字段。查看该表的内容如下。

SELECT * FROM Customer;

输出。

MySQL ORDER BY DESC output 1

让我们从Customer表中查询数据记录,使用ORDER BY子句来显示结果,但不包括属性。

SELECT CustomerID, CustomerName, City FROM Customer ORDER BY CustomerName;

输出。

MySQL ORDER BY DESC output 2

从上面的输出可以看出,通过省略ASC和DESC关键字,结果行默认以升序排序。

现在,让我们使用MySQL ORDER BY DESC子句写一个查询,按特定的表列以降序排序查询结果集。

SELECT CustomerID, CustomerName, City FROM Customer ORDER BY CustomerName DESC;

输出。

MySQL ORDER BY DESC output 3

通过使用带有ORDER BY子句的DESC修饰符,以递减顺序排列的方式对内容进行排序,可以看到其中的差别。例如,查询中的CustomerName列是用ORDER BY DESC指定的。

例子#2 - 使用多个表列的MySQL ORDER BY DESC

我们将在查询中使用MySQL ORDER BY DESC子句与表的多个列,并查看执行后的结果集。对同一表Customer进行查询的MySQL语句与前面的一样,如下所示。

SELECTCustomerID, CustomerName, City FROM Customer ORDER BY CustomerName DESC, City DESC;

输出。

MySQL ORDER BY DESC output 4

在这里,我们在ORDER BY子句后的两个列名中使用了DESC关键字,以产生降序排列的结果集。因此,在一个列被添加了DESC而另一个没有的情况下,它将自动以升序进行排序。

例子#3 - MySQL ORDER BY DESC使用WHERE子句

假设我们需要生成信用额度大于或等于3000的客户的结果集,在同一查询中使用ORDER BY DESC子句来获取结果行。我们将用WHERE子句查询记录,如下所示。

SELECT CustomerName, City, Credit_LimitFROM Customer WHERE Credit_Limit>=3000 ORDER BY City DESC;

输出。

output 5

例子#4 - MySQL ORDER BY DESC使用LIMIT选项

我们将应用LIMIT子句,该子句是可选的,为获取的结果行提供限制。我们将与ORDER BY DESC子句一起,在最后使用LIMIT选项来查看结果。让我们把前面的例子稍作修改,如下所示。

SELECT * FROM Customer WHERE Credit_Limit>=1500 ORDER BY Credit_Limit DESC;

输出。

output 6

在这里,我们简单地检索了有6行的结果,按信用额度列和WHERE子句排序。现在,使用LIMIT,该查询变得如下。

SELECT * FROM Customer WHERE Credit_Limit>=1500 ORDER BY Credit_LimitDESC LIMIT 3;

输出。

output 7

现在,请看输出结果;如上所述,结果行数减少到3行,而且信用额度是降序排列的,如上文查询中所述。

结论

ORDER BY子句伴随着DESC修改器属性,定义了在查询中获取表行的排序顺序。如果在查询中没有为ORDER BY子句指定任何属性,那么,结果行将默认为递增的顺序。

在MySQL中,ORDER BY DESC子句可以应用于SELECT LIMIT语句、SELECT语句和DELETE LIMIT语句。

推荐文章

这是一个关于MySQL ORDER BY DESC的指南。这里我们讨论了ORDER BY DESC如何在MySQL中工作,以及与输出有关的例子。你也可以看看下面的文章,以了解更多信息

MySQL的REPLACE MySQL唯一索引(UNIQUE INDEX MySQL SYSDATE() PostgreSQL DATE_PART()

The postMySQL ORDER BY DESCappeared first onEDUCBA.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3